約 1,249,052 件
https://w.atwiki.jp/prepress-tips/pages/146.html
javascriptを使った形式手法モデル理論アプローチの もっと実際的なサンプルを作る。 最終更新日時: 2008/10/02 作成中 形式手法モデル理論アプローチの利点の再考 Edit 作成中 ※ html と js 中の < と & はすべて半角に置換すること。 pentomino.html <HTML <head <meta http-equiv= Content-Type content= text/html;charset=shift_jis <title ペントミノに挑戦</title </head <body bgcolor= #FFFFFF onLoad= maction( model ) <h4 ペントミノに挑戦 </h4 <form モデル: <select id= model onChange= maction( option ) <option value= なし </select     オプション: <select id= option <option value= なし </select     デバグ: <select id= debug <option value= 0 しない <option value= 1 する </select     <input type= button value= 実行 onClick= maction( run ) </form <div id= result </div <br <div id= panel </div </body <script type= text/javascript src = pentomino.js </script </HTML pentomino.js //- このプログラムは ? // ペントミノを解くプログラムを // javascripを使った 形式手法モデル理論アプローチで アジャイルに作れるようにする。 //- マクロアクションの一覧 //-- Mactions var Mactions = new Array(); Mactions[ model ] = init_model; Mactions[ option ] = init_option; Mactions[ run ] = run; //- モデルの一覧 //-- models var models = new Array( new model(), new model(), new model(), new model() ); var display_colors = models[ 0 ]; // 色の一覧 var display_colors2 = models[ 1 ]; // 色の一覧2 var display_pieces = models[ 2 ]; // ピースの一覧 var rotate_pieces = models[ 3 ]; // ピースの回転 //- 外部とのインタフェース //-- id, popup function id ( i ) { return window.document.getElementById( i ); } function popup () { window.alert( Array.apply( this, arguments ).join( \x0a ) ); } //-- maction function maction ( a ) { // マクロアクションを実行する Mactions[ a ].apply(); } //-- init_model, init_option, run function init_model () { // モデルを表示する id( model ).innerHTML = ; for( m in models ) { var e = document.createElement( option ); { e.value = m; e.innerHTML = models[m].title; } id( model ).appendChild( e ); } } function init_option () { // モデルのオプションを表示する var m = models[ get( model ) ]; var opt = m.init_option(); id( option ).innerHTML = ; for( i in opt ) { var e = document.createElement( option ); { e.value = i; e.innerHTML = opt[i]; } id( option ).appendChild( e ); } } function run () { // モデルを実行する var m = models[ get( model ) ]; { m.option = parseInt( get( option ) ); m.debug = ( get( debug ) == 1 ); } msg_clr(); panel_clr(); msg( model + m.name + ( + m.title + ) ); m.run(); msg( finished. ); } //-- get, msg_clr, msg function get ( p ) { return id( p ).options[ id( p ).selectedIndex ].value; } function msg_clr () { id( result ).innerHTML = ; } function msg () { var m = Array.apply( this, arguments ); m.push( ); id( result ).innerHTML += m.join( <br \x0a ); } //-- panel_clr, panel_add, panel_paint function panel_clr () { id( panel ).innerHTML = ; } function panel_add ( n, m, p ) { var m = Array.apply( this, arguments ); var n = m.shift(); var p = m.pop(); var t = m.join( <br \x0a ); var r = new panel(); for( x in r ) { for( y in r[0] ) { var i = P + n + - + x + - + y; r[x][y] = <td <span id=\ + i + \     </span </td ; } } t += <table border=0 cellpadding=0 cellspacing=0 ; for( y in r[0] ) { t += <tr ; for( x in r ) { t += r[x][y]; } t += </tr ; } t += </table ; id( panel ).innerHTML += t; panel_paint( n, p ); } function panel_paint ( n, p ) { for( x in p ) { for( y in p[0] ) { id( P + n + - + x + - + y ).style.backgroundColor = p[x][y]; } } } //- モデルを記述する。 // State, goal, Actions, Delta, constraint, lambda, goal_lambda //-- display_colors( 色の一覧 ) // 状態は 表示していない色の一覧,これがなくなったら 終了 with( display_colors ) { name = display_colors ; title = 色の一覧 ; run = function () { goal_seeker( this, new State( panel_colors.slice( 1 ) ) ); // 初期状態 }; State = function ( a ) { // 状態のコンストラクタ this.state = a; this.toString = function () { return unused colors = + this.state; }; debug && msg( c + this ); }; goal = function( s ) { // ゴールは? return s.state.length == 0; }; Actions = function( s ) { // どんなアクションが可能か? return s.state.slice( 0, 1 ); // 先頭の色( だけの配列 )を返す }; Delta = function( s, a ) { // アクションを実行したあとの状態は? debug && msg( a + a ); return new State( s.state.slice( 1 ) ); }; delta_back = function( s ) { debug && msg( - + s ); } constraint = function ( s ) { // 守らなくてはいけないこと return true; }; lambda_init = function( s ) { // 新しい状態で実行すること result.panel = new panel(); result.x = 0; result.y = 0; }; lambda = function( s, a ) { result.y++; if( result.y = result.panel[0].length ) { result.y = 0; result.x++; } result.panel[ result.x ][ result.y ] = a; }; lambda_back = function( s ) { }; goal_lambda = function( s ) { // ゴールで実行すること debug && msg( g goal ); panel_add( 0, title, result.panel ); }; } //-- panel_colors, panel var panel_colors = new Array( // 色のテーブル #E8E8E8 , #FF0000 , #00FF00 , #0000FF , #00FFFF , #FF00FF , #FFFF00 , #A00000 , #008000 , #0000A0 , #00A0A0 , #A000A0 , #C0C000 ); function panel ( p ) { // panelのコンストラクタ var r = new Array(); { if( p != null ) { for( x in p ) { r[ x ] = Array.apply( this, p[ x ] ); } } else { var x_max = 10; var y_max = 6; var c = panel_colors[ 0 ]; for( var x = 0; x x_max; x++ ) { r[x] = new Array(); } for( x in r ) { for( var y = 0; y y_max; y++ ) { r[x][y] = c; } } } } return r; } //-- display_colors2( 色の一覧2 ) // 状態は 表示した色の数 // forループを使う場合と同じ。 with( display_colors2 ) { name = display_colors2 ; title = 色の一覧2 ; run = function () { goal_seeker( this, new State( 0 ) ); // 初期状態 }; State = function ( n ) { // 状態のコンストラクタ this.state = n; this.toString = function () { return colors = + this.state; }; debug && msg( c + this ); }; goal = function( s ) { // ゴールは? return s.state == panel_colors.length - 1; }; Actions = function( s ) { // どんなアクションが可能か? return new Array( next color ); // 配列で返す }; Delta = function( s, a ) { // アクションを実行したあとの状態は? debug && msg( a + a ); return new State( s.state + 1 ); }; delta_back = function( s ) { debug && msg( - + s ); } constraint = function ( s ) { // 守らなくてはいけないこと return true; }; lambda_init = function( s ) { // 新しい状態で実行すること result.panel = new panel(); result.x = 0; result.y = 0; }; lambda = function( s, a ) { result.y++; if( result.y = result.panel[0].length ) { result.y = 0; result.x++; } result.panel[ result.x ][ result.y ] = panel_colors[ s.state ]; }; lambda_back = function( s ) { }; goal_lambda = function( s ) { // ゴールで実行すること debug && msg( g goal ); panel_add( 0, title, result.panel ); }; } //-- display_pieces( ピースの一覧 ) // 状態は 未表示のピースのリスト with( display_pieces ) { name = display_pieces ; title = ピースの一覧 ; run = function () { goal_seeker( this, new State( pieces.slice( 0 ) ) ); // 初期状態 }; State = function( a ) { // 状態のコンストラクタ this.state = a; this.toString = function () { return unused = + this.state; }; debug && msg( c + this ); }; goal = function( s ) { // ゴールは? return s.state.length == 0; }; Actions = function( s ) { // どんなアクションが可能か? return s.state.slice( 0, 1 ); // 先頭のピース( だけの配列 )を返す }; Delta = function( s, a ) { // アクションを実行したあとの状態は? debug && msg( a + a ); return new State( s.state.slice( 1 ) ); }; delta_back = function( s ) { debug && msg( - + s ); } constraint = function ( s ) { // 守らなくてはいけないこと return true; }; lambda_init = function( s ) { // 新しい状態で実行すること result.color = 0; }; lambda = function( s, a ) { // ピースの状態を更新 result.color++; a.directions[ 0 ] = xy_from_def( a.def ); a.y_mins[ 0 ] = xy_y_min( a.directions[ 0 ] ); a.color = panel_colors[ result.color ]; // パネルに表示 var p = new panel(); xy_put( p, 0, - a.y_mins[ 0 ], a, 0 ); panel_add( result.color, title, a + , p ); }; lambda_back = function( s ) { }; goal_lambda = function( s ) { // ゴールで実行すること debug && msg( g goal ); }; } //-- pieces, piece var pieces = new Array( new piece( I , ----- ), // 直線5 - 1種類 new piece( L , ----/- ), // 直線4 + 直線1 - 2種類 new piece( Y , ----/ - ), new piece( P , ---/-- ), // 直線3 + 直線2(横) - 2種類 new piece( N , ---/ -- ), new piece( V , ---/-/- ), // 直線3 + 直線2(縦) - 2種類 new piece( T , ---/ -/ - ), new piece( U , ---/- - ), // 直線3 + 直線1 + 直線1(同じ側) - 1種類 new piece( F , -/---/ - ), // 直線3 + 直線1 + 直線1(反対側) - 3種類 new piece( Z , -/---/ - ), new piece( X , -/---/ - ), new piece( W , --/ --/ - ) // 直線2 + 直線2 + 直線1 - 1種類 ); function piece ( n, d, c ) { // pieceのコンストラクタ this.name = n; this.def = d; this.directions = new Array(); this.y_mins = new Array(); this.color = c; this.toString = function () { return piece- + this.name; }; } //-- xy_from_def, xy_y_min, xy_put, xy_rotate, xy_invert, function xy_from_def ( def ) { var xy = new Array(); var x = 0; var y = 0; var d = def.match( /./g ); for( i in d ) { d[ i ] == - && ( xy.push( new Array( x, y ) ), x++ ); d[ i ] == && ( x++ ); d[ i ] == / && ( x = 0, y++ ); } return xy; } function xy_y_min ( xy ) { var y = 0; for( i in xy ) { xy[i][1] y && ( y = xy[i][1] ); } return y; } function xy_put ( p, x, y, a, d ) { var xy = a.directions[ d ]; for( i in xy ) { p[ xy[i][0] + x ][ xy[i][1] + y ] = a.color; } } //-- xy_rotate, xy_invert, xy_to_top, xy_to_left function xy_rotate ( xy ) { var xy_new = new Array(); for( i in xy ) { xy_new[i] = new Array( xy.length - xy[i][1], xy[i][0] ); } return xy_new; } function xy_invert ( xy ) { var xy_new = new Array(); for( i in xy ) { xy_new[i] = new Array( xy.length - xy[i][0], xy[i][1] ); } return xy_new; } function xy_to_top ( xy ) { var x = pieces[0].def.length; for( i in xy ) { xy[i][0] x && ( x = xy[i][0] ); } for( i in xy ) { xy[i][0] -= x; } } function xy_to_left ( xy ) { var y = pieces[0].def.length; for( i in xy ) { xy[i][0] == 0 && xy[i][1] y && ( y = xy[i][1] ); } for( i in xy ) { xy[i][1] -= y; } } //-- rotate_pieces( ピースの回転 ) // 状態は ピースを配置したパネル // goal_seekerループを使うと、 // forループのループ変数を 目的とするもの~そのもの~にできるので、 // forループを使うより プログラムをより直接的で簡単にでき 構造も明快。 with( rotate_pieces ) { name = rotate_pieces ; title = ピースの回転 ; init_option = function () { var r = new Array(); for( p in pieces ) { r.push( pieces[p].name ); } return r; }; run = function () { var a = pieces[ option ]; { a.directions[ 0 ] = xy_from_def( a.def ); a.color = panel_colors[ option + 1 ]; } goal_seeker( this, new State( a ) ); // 初期状態 { debug && msg( a invert ); var d = a.directions.length; a.directions[ d ] = xy_invert( a.directions[ 0 ] ); } goal_seeker( this, new State( a ) ); // 初期状態 }; State = function( a ) { // 状態のコンストラクタ var d = a.directions.length - 1; // ピースの状態を補正 xy_to_top( a.directions[ d ] ); xy_to_left( a.directions[ d ] ); a.y_mins[ d ] = xy_y_min( a.directions[ d ] ); // 状態 this.piece = a; this.direction = d; this.state = new panel(); xy_put( this.state, 0, - a.y_mins[ d ], a, d ); this.toString = function () { return this.state.toString(); }; debug && msg( c + this ); }; goal = function( s ) { // ゴールは? return false; }; Actions = function( s ) { // どんなアクションが可能か? return new Array( rotate ); }; Delta = function( s, a ) { // アクションを実行したあとの状態は? debug && msg( a + a ); s.piece.directions[ s.direction + 1 ] = xy_rotate( s.piece.directions[ s.direction ] ) ; return new State( s.piece ); }; delta_back = function( s ) { debug && msg( - + s ); } constraint = function ( s ) { // 守らなくてはいけないこと // 既にある配置でないこと for( var d = 0; d s.direction; d++ ) { var p = new panel(); xy_put( p, 0, - s.piece.y_mins[ d ], s.piece, d ); if( p.toString() != s.state ) { continue; } s.piece.directions.pop(); s.piece.y_mins.pop(); s.direction--; return false; } return true; } lambda_init = function( s ) { // 新しい状態で実行すること lambda( s, 0 ); }; lambda = function( s, a ) { panel_add( s.direction, title, s.piece + direcion- + s.direction + , s.state ); }; lambda_back = function( s ) { }; goal_lambda = function( s ) { // ゴールで実行すること }; } //- モデルを goal-seekerで 解く。 // goal-seekerは 多くの問題に共用できる。 //-- goal_seeker, model function goal_seeker ( m, s, a ) { if( ! m.constraint( s ) ) { return; } if( a == null ) { m.lambda_init( s ); } else { m.lambda( s, a ); } if( m.goal( s ) ) { m.goal_lambda( s ); return; } if( m.StateHistory[ s ] ) { return; } m.StateHistory[ s ] = true; var actions = m.Actions( s ); for( a in actions ) { m.StateSequence.push( s ); s = m.Delta( s, actions[ a ] ); goal_seeker( m, s, actions[ a ] ); s = m.StateSequence.pop(); m.delta_back( s ); } delete m.StateHistory[ s ]; m.lambda_back( s ); } function model ( n ) { this.name = ; this.title = ; this.option = null; this.debug = false; this.init_option = function () { return new Array( なし ); }; this.run = function () {}; this.result = {}; this.State = function () { this.toString = function () { return ; } }; this.goal = function ( s ) { return true; }; this.Actions = function ( s ) { return new Array(); }; this.Delta = function ( s, a ) { return new State(); }; this.delta_back = function ( s ) {}; this.constraint = function ( s ) { return true; }; this.lambda = function ( s, a ) {}; this.lambda_back = function ( s ) {}; this.lambda_init = function ( s ) {}; this.goal_lambda = function ( s ) {}; this.StateSequence = new Array(); this.StateHistory = new Array(); } //- コンパイルエラーの確認 alert( load ok ); /* */ 実際にブラウザで試してみる → pentomino.html ( 実行ボタンをクリックしてみてください ) プログラムの構造は サクラエディタのアウトライン解析で見る。 ルールファイル //---- /// lv4 //--- /// lv3 //-- /// lv2 //- /// lv1 形式手法モデル理論アプローチの利点の再考 モジュール内部の構造を モデルから選ぶと、モデルの内部構造は いくつかの定型functionの集まりとして決められているので、それらのfunctionに コードを埋めると プログラムができあがる。 コードは 状態変化の記述を柱とするので、書きやすく わかりやすい。 goal_seekerループを使うと、forループのループ変数を 目的とするもの~そのもの~にできるので、forループを使うより プログラムをより直接的で簡単にでき 構造も明快になる。 プログラムの構造は 注釈 もしくは function名 で指示される。高いレベルの階層化は 注釈による。低いレベルの階層化は { } による。ブロックの意味付けは 形式的 function名 による。オブジェクトの記述との親和性が高い。 記述が長くなっても 行きたいとところに すぐに行ける。これは 図よりわかりやすい。プログラムはよく似た記述からできているので、適切な注釈が必要。 モデルの連続実行で複雑な処理も可能。 UI |\ | 連続実行 ↓/ 単体 ↓ 対象 Edit
https://w.atwiki.jp/fantastical_world/pages/587.html
imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 HIYMS DDW-487 ペルセウス級魔導駆逐艦 ユグドラシル軍による『グレイプニル・プラン』の一環で開発された駆逐艦。 圧倒的な軍事力を誇るソレグレイユ軍艦隊に対抗するべく、ユグドラシル軍内では様々な議論がなされた。 その中で、文明戦争で鹵獲したソレグレイユ軍艦艇に使用されていた科学技術の応用が検討された。 ユグドラシルの兵器開発関係者は、鹵獲されたソレグレイユ軍艦艇を見て 『魔術を使わずにこれほどのものを造れるのか』と驚愕したという。 それらはすなわち電力と呼ばれるものであり、ユグドラシル軍はこれを雷のマナを用いて再現しようと試みた。 試みは成功し、『グレイプニル・プラン』以降のユグドラシル艦艇は ある程度速力を確保したまま重武装を施せるようになった。 このペルセウス級では特に砲戦能力に重点が置かれ、片舷10門を超える魔力砲を装備している。 画像は実弾訓練において片舷斉射中の5番艦『アガメムノン』(手前)と17番艦『ネレウス』(奥)で、 3番艦『アイネイアス』から撮影されたものである。 ―性能諸元― エルワ社製 60口径単装高濃度収束魔力砲 1基 エルワ社製 75口径単装固定収束魔力砲架 2基 エルワ社製 53口径単装固定拡散魔力砲架 6基 クァルン社製 連装対空動力魔力砲架 9基 アピサム社製 単装対艦魔力魚雷発射管 4基 動力 エーテリア社製 響アンテイア式混合魔力集積炉Ⅳ型 3基 era3 ユグドラシル 兵器 技術
https://w.atwiki.jp/nandemoii/pages/74.html
わりと昔から、実践だったり、モデルとかが気になります。 知恵袋系のホームページでも、「実践教育の大学教えてください!」とか、「自由電子モデルについて」なんていう質問が載っていました。 うーん、インターネットって便利です。 実際役に立つかわかりませんが、「f1011━稀少━実践ビジネスモデルの作り方」とか、「()ウインドウリペアにガラス修理キット#実践動画付」なんていうのがあるみたいです。 以下のサイトも関係した情報が集められそうです。 http //blog.crooz.jp/modeyase/ モデルのように簡単に必ず痩せる方法 図書館とかで調べなくても、ネットサーフィンでかなりのデータが手に入るので、助かりますね。
https://w.atwiki.jp/offer_cojp/pages/25.html
【注目ニュース】 「令和5年度「春のライトアップモデル事業費助成金」桜のライトアップを支援」 『2023年10月25日、公益財団法人東京観光財団は、令和5年度「春のライトアップモデル事業費助成金」について発表しました。観光協会、商店街等が、春の桜を活かして、道路、公園、河川沿い等においてデザイン性の高いライトアップを行う取組に対して、その経費を助成するものです。』 引用:https //sogyotecho.jp/news/20231027sakura-lightup/ 対象となる事業は、春に道路・公園・河川沿いなどで桜のライトアップを実施することで、都市景観の向上と賑わいにつながる事業とのこと。 募集期間については、2023年12月28日(月)までのようです。 また、新規事業、継続2年目事業、継続3年目事業それぞれ助成率・助成限度額は異なるそうです。 詳しくは「令和5年度「春のライトアップモデル事業費助成金」募集のご案内」で確認することができます。
https://w.atwiki.jp/magicman/pages/48485.html
鼓胴のモデル イントゥ・タイタン R 自然文明 (3) クリーチャー:テクノポリス 1000+ ■このクリーチャーが出た時または他のクリーチャーとリンクした時、自分の山札の上から1枚をマナゾーンに置く。その後、自分のマナゾーンからカードを1枚手札に戻す。 ■U・リンク—《鼓胴のモデル イントゥ・タイタン》以外の、名前に《モデル》とあるテクノポリス(このクリーチャーを出す時、「U・リンク」を持つ他の、名前に《モデル》とあるテクノポリスの右側または左側にリンクしてもよい。リンクしたテクノポリスは、各テクノポリスの特性(パワーや能力)をすべて持つ1体のクリーチャーとなる。離れる時は、その中の1枚を選ぶ) 作成者:Y DMCY-04「電界編 第4章 変革のエンドローグ」に登場するテクノポリス。宇和島様のオリジナル能力U・リンクで6体リンクするテクノポリスの自然文明担当。リンクした時にも発動可能なcipでマナを整える、《モデル》軸のデッキの始動役を担うクリーチャー。 元ネタは、P-MODELの初代ドラム・田井中貞利氏。 サイクル DMCY-04「電界編 第4章 変革のエンドローグ」の、U・リンクを持つ「モデル」サイクル。各文明及び無色に存在する。 ・《核新のモデル プログレス》 ・《光幻のモデル シャイニージュー》? ・《鏡働のモデル レストフィルド》 ・《空深のモデル ウォーテラー》? ・《耿福のモデル オリジナル・ギャップ》? ・《鼓胴のモデル イントゥ・タイタン》 評価 名前 コメント
https://w.atwiki.jp/sakureimatome/pages/33.html
2007年2月号 267号 巻頭特集 EXモデル バンダイとユーザーによる「共犯関係」 シーン成長が生み出した新たなトライアル SCV-70 ホワイトベース(バンダイ 1/1700) モビルシップ アルビオン(バンダイ 1/1700) ラビアンローズ(バンダイ 1/1700) マゼラン(バンダイ 1/1700) EXシリーズオールカタログ2006-2007年版 コスモゼロ、ブラックタイガー(バンダイ 1/100) スーパーシルフ雪風Ver1.5(バンダイ 1/100) FRX-00メイブ雪風 ジャムセンス・ジャマー ラムジェットエンジン搭載型(バンダイ 1/100) EXモデル ラビアンローズコンテスト 全作品一挙掲載! MaK "ライト・スクエア"AFFA E3C/E3CBルナポーン(ウェーブ 1/20) マツダ ロードスター(フジミ 1/24) カーチス SO3C シーミュー(チェコモデル 1/48) ファルツE.I(ガヴィア 1/48) マーダーⅡ(ドラゴン 1/35) M2/M2A1 ハーフトラック(ドラゴン 1/35) 三式砲戦車[ホニⅢ](ファインモールド 1/35) 海上自衛隊イージス護衛艦DDG-175こんごう(ピットロード 1/700) 大日本帝國陸軍輸送船 橘丸(フォーサイト&モデルアート 1/700)
https://w.atwiki.jp/devil4modwiki/pages/23.html
フォルダ "pl000" 対応するregion、endregionプラグインが不足しています。対になるようプラグインを配置してください。 pl000 - ネロ(ボディ) pl000_01 - ネロ(フェイス) pl000_02 - ネロ(ヘアー) pl000_03 - ネロ(コート) pl000_03_00 - 不明 pl000_03_01 - 不明 pl000_03_02 - 不明 pl000_03_03 - 不明 pl000_03_04 - 不明 pl000_03_05 - 不明 フォルダ "pl020" 対応するregion、endregionプラグインが不足しています。対になるようプラグインを配置してください。 pl020 - 青の魔人(ボディ) pl020_01 - 不明 wp041 - 幻影刀 フォルダ "wp000" 対応するregion、endregionプラグインが不足しています。対になるようプラグインを配置してください。 wp000 - ブルーローズ フォルダ "wp001" 対応するregion、endregionプラグインが不足しています。対になるようプラグインを配置してください。 wp001 - レッドクイーン フォルダ "wp002" 対応するregion、endregionプラグインが不足しています。対になるようプラグインを配置してください。 wp002 - 閻魔刀 フォルダ "wp024" 対応するregion、endregionプラグインが不足しています。対になるようプラグインを配置してください。 wp024 - 悪魔の右腕 フォルダ "wp040" 対応するregion、endregionプラグインが不足しています。対になるようプラグインを配置してください。 wp040 - 閻魔刀(青の魔人)
https://w.atwiki.jp/mcncraft/pages/20.html
主に反重力装置やスラスターを使った飛行機・ヘリコプター等を掲載するためのページです。 単発ヘリテンプレコメント 単発ヘリテンプレ メインローターが回転する反動を機体中央下向きのTジョイントに繋がれたシャーシを高速で回転することにより打ち消している(マシンクラフトでは揚力の概念は存在しないのでテイルローターは機体の安定に寄与しない)。 四基のスラスターで前後左右に移動可能であるほか、キャノンを2基搭載しているのでテンプレ機ながら実戦で使うこともできる。 +詳細 メインローターの回転速度を調整することで機体を左右に旋回させている。上下動は反重力装置を利用。 重心のずれと機体サイズの小ささから滞空時の体勢がやや右に傾く。エッセンスをそのままに機体を大型化するのも手。 前進用スラスターに繋がるTジョイントを回転させているが、目的は不明(外しても機動に影響しない)。情報求む マシンクラフト7機目240、単発ヘリがぼちぼちと話題に出てきたところで投下。 240 :名無しさん@お腹いっぱい。:2014/09/28(日) 11 24 20.25 ID VHUiIR/g 単発ヘリの基本モデルを作ったので置いとく 1111 http //filescase.com/src/GEN50MB0902.zip.html 右クリでエンジン始動 ダウンロードはこちら。 動作名がデフォルトから変更されていないので注意。右クリック(Sword)でエンジン起動。 Ver.100で検証・確認済み。もう基本は組み換えないと、動作しません。 コメント ver.100じゃなくてver.0.100じゃないの?間違ってたらすまん -- 名無しさん (2015-10-06 22 32 53) ヘリほしいけどロダから消えとる・・・ -- とんかつ (2016-08-25 18 48 13) 名前 コメント
https://w.atwiki.jp/javadsge/pages/7206.html
https //drive.google.com/file/d/0B9c7WttLh-m7Tm9OemxtaEZoUnM/view?usp=sharing
https://w.atwiki.jp/javadsge/pages/1140.html
指数 物価